<?php

namespace Templates\User\Profile;

class СTemplate extends Templates\User\Anonimous {

    protected function __construct () {
        $this->registryInteger('layout', 'userId', 123);
        $this->registryString('userName');
    }

    /**
     * @param array $params
     * @param \DOMDocument $document
     * @return \DOMNodeList
     */
    protected function templateLayout (array &$params, \DOMDocument $document = null) {
        // Преобразование объекта документа.
        if ($document === null) {
            $document = $this->getDocument();
        }
        $template = $document->createElement('template');



        return $template->childNodes;
    }

    /**
     * @param array $params
     * @param \DOMDocument $document
     * @return string
     */
    private function param123 (array &$params, \DOMDocument $document = null) {}

    protected function templateMainMenu (array &$params, \DOMDocument $document = null) {
        // Преобразование объекта документа.
        if ($document === null) {
            $document = $this->getDocument();
        }
        // Элемент для накопления контента.
        $template = $document->createElement('template');
        // Элемент контекста.
        $context = array($template);

        $element = $document->createElement('table');
        $element->setAttribute('align', 'center');
        $element->setAttribute('class', $params['user']->id);
        end($context)->

        // Подключение стороненего шаблона.
        $parameters = array();
        $elements = $this->templateMainMenu($parameters, $document);
        for ($index = 0; $elements->length; $index++) {
            $context->appendChild($elements->item($index));
        }
        unset($index, $elements, $parameters);

        // Подключение стороненего шаблона.
        $parameters = array();
        $elements = Templates\User\Profile\СTemplate::create()->templateMainMenu($parameters, $document);
        for ($index = 0; $elements->length; $index++) {
            $context->appendChild($elements->item($index));
        }
        unset($index, $elements, $parameters);

        // Подключение стороненего шаблона.
        $parameters = array(
            'userId'   => 123,
            'userName' => $this->param123($parameters, $document),
            'content'  => isset($params['content']->text) ?
                    $params['content']->text : null
        );
        $elements = $this->templateMainMenu($parameters, $document);
        for ($index = 0; $elements->length; $index++) {
            $context->appendChild($elements->item($index));
        }
        unset($index, $elements, $parameters);

        return $template->childNodes;
    }



}